package day1;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * ClassName：TestServerSocket
 *
 * @Author：小鱼
 * @Create：2025-08-25 11:06
 */
public class TestServerSocket {
    //服务端
    public static void main(String[] args)throws Exception {
        //创建对象
        int port = 8989;
        ServerSocket serve = new ServerSocket(port);
        System.out.println("服务器： 端启动成功，等待客户端连接，端口号为： "+port);
        System.out.println("serve: "+serve);

        //如何等待
        Socket socket = serve.accept();
        System.out.println("服务端：与客户端连接成功： "+socket);

        //获取IO流，传输数据
        InputStream is = socket.getInputStream();
        OutputStream os= socket.getOutputStream();

        //获取客户端信息
        byte[] buff = new byte[1024];
        int length = is.read(buff);//length 表述读到多少字节数
        System.out.println(new String(buff,0,length));//要将谁转化，起始索引，转化的长度
        System.out.println("服务端： 成功接收到客户端消息");
        //给客户端法消息
        os.write("hello client,im sever".getBytes());
        System.out.println("服务端： 成功发生消息");
        //关闭
        os.close();
        is.close();
        socket.close();
    }

}
